Skip to main content

Gorm - Insert Data

Melanjutkan dari tulisan sebelumnnya kali ini diberikan contoh sederhana untuk insert data ke articles.

Model​

Pada models/article.go silahkan ubah menjadi seperti ini :

package models

import "time"

type Article struct {
ID int64 `gorm:"primaryKey"`
Name string
Content string
AuthorName string
CreatedAt time.Time
UpdatedAt time.Time
}

Terdapat perubahan yaitu :

  1. Ubah tipe data ID menjadi int64 (sesuai dengan tipe data pada database yaitu big integer)
  2. Menambahkan CreatedAt
  3. Menambahkan UpdatedAt

Buat Data Baru Article​

Untuk membuat data baru, anda bisa menggunakan kode sebagai berikut :

package main

import (
...
"example/hello/models"
"strconv"
"time"
...
)

func main() {
...

//insert new article
articleNew := models.Article{
AuthorName: "programmer",
Content: "belajar insert golang",
Name: "belajar golang",
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
}

result := db.Create(&articleNew)
if result.Error != nil {
log.Fatalf("failed insert : %s", result.Error)
}

...
}

Menampilkan Data Articles​

Terdapat beberapa perubahan untuk menampilkan data articles dibanding sebelumnya, hasilnya seperti berikut ini :

    //show all articles
articles, err := repository.GetAllArticles()
if err != nil {
fmt.Println("Failed get articles: ", err)
return
}

fmt.Println("Articles in db are : ")
for _, article := range articles {
fmt.Printf(
"ID: %s, createdAt: %s, name: %s, content: %s, authorName: %s \n",
strconv.Itoa(int(article.ID)),
article.CreatedAt,
article.Name,
article.Content,
article.AuthorName,
)
}

Terdapat perubahan yaitu :

  1. Convert articles.ID menjadi string
  2. Menambahkan created_at untuk ditampilkan

Hasil​

Jika berhasil, data terbaru anda akan berhasil masuk sebagai berikut :

picture 1